<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div id="demo" index="1"></div>
    
    <script>
        var div = document.querySelector('div');
        //1.获取元素的属性值
        //(1) element.属性
        console.log(div.id);
        //(2)element.getAttribute('属性名') 程序员自己添加的属性称为自定义属性 一般用index表示
        console.log(div.getAttribute('index'));

        //设置元素的属性值
        //(1) element.属性 = '值'  <-设置内置属性值
        div.id = 'test';
        console.log(div.id);
        //(2) element.setAttribute('属性','值'); 主要针对于自定义属性
        div.setAttribute('index',3);
        console.log(div.getAttribute('index'));
        //注意:如果想用这个修改class的值,在属性里填的是class而不是classname

        //移除元素的属性
        div.removeAttribute('index');

        //H5 自定义属性 有兼容性问题! ie11以上才支持
        //自定义目的: 为了保存并使用数据,有些数据可以保存到页面中而不用保存到数据库中
        //但是有些自定义属性很容易引起歧义,不容易判断是元素的内置属性还是自定义属性
        //所以有了一种规范:
        //自定义属性统一由 data- 开头作为属性名并且赋值
        //H5 新增的获取自定义属性的方法 xxx.dataset.yyy  yyy是定义自定义属性时,data- 后面的内容
        //dataset 是一个集合,里面存放了所有以data开头的自定义属性
        //如果自定义属性里面由多个 - 连接的单词,用dataset获取时用驼峰命名法
        //比如:获取 data-list-name = 'andy'  这样写:xxx.dataset.listName

    </script>
</body>
</html>